
#pragma once


#define	CLIENT_USERID_PREFIX	_T("0x")

#define	USB_SOUND_STR			_T("USB AUDIO  CODEC")

#define	DEF_MANAGER_CLASSNAME	_T("mimosav2manager-class")

#define	DEF_SERVER_EXENAME		_T("MimosaV2Console.exe")

#define	DEF_CLIENT_CLASSNAME	_T("mimosav2client-class")
#define	DEF_CLIENT_EXENAME		_T("mimosav2client.exe")

#define	UM_CLIENT_INITSTATE		(WM_USER + 0x100)
#define	UM_CLIENT_SHOWWINDOW	(WM_USER + 0x101)
#define	UM_CLIENT_DESTORY		(WM_USER + 0x102)
#define	UM_CLIENT_ALARMNET		(WM_USER + 0x103)

#define	UM_MANAGER_CALLTIME		(WM_USER + 0x200)	// wParam(dwUserId), lParam(wSipTime, wPhoneTime)

typedef enum {
	TYPE_ALL=0, TYPE_SOUNDIN, TYPE_SOUNDOUT, TYPE_COMPORT, TYPE_SIPSTATE, TYPE_HFPSTATE, TYPE_CALLSTATE, TYPE_PHONEINFO, TYPE_CALLTIME, TYPE_EXIT
} eTYPE;
#pragma pack(push, MIMOSA_INCLUDE_PACK, 1)
typedef struct {
	DWORD		dwSize;

	DWORD		dwUserId;	// 0x0001 ~ 0xnnnn
	eTYPE		eType;

	int			nSoundIn;
	int			nSoundOut;

	int			nComport;

	TCHAR		szSipState[16+1];
	TCHAR		szHfpState[32+1];
	TCHAR		szCallState[64+1];	// State[,From-To]
	TCHAR		szPhoneInfo[20+1];	// PhoneId or MacAddr
	DWORD		dwSipTime;			// UM_MANAGER_CALLTIME
	DWORD		dwPhoneTime;		// UM_MANAGER_CALLTIME

} COPYDATA, *PCOPYDATA;
#pragma pack(pop, MIMOSA_INCLUDE_PACK)
